package com.ahdy.service;

import com.ahdy.entity.MedicalRecordAnalysis;

import java.util.List;
import java.util.Map;

/**
 * 病历分析记录服务接口
 */
public interface MedicalRecordAnalysisService {
    
    /**
     * 新增病历分析记录
     * 
     * @param record 病历分析记录
     * @return 新增记录的ID
     */
    Integer add(MedicalRecordAnalysis record);
    
    /**
     * 根据ID获取病历分析记录
     * 
     * @param id 病历分析记录ID
     * @return 病历分析记录
     */
    MedicalRecordAnalysis getById(Integer id);
    
    /**
     * 根据老人ID获取病历分析记录列表
     * 
     * @param elderlyId 老人ID
     * @return 病历分析记录列表
     */
    List<MedicalRecordAnalysis> getByElderlyId(Integer elderlyId);
    
    /**
     * 更新病历分析记录
     * 
     * @param record 病历分析记录
     * @return 是否更新成功
     */
    boolean update(MedicalRecordAnalysis record);
    
    /**
     * 根据ID删除病历分析记录
     * 
     * @param id 病历分析记录ID
     * @return 是否删除成功
     */
    boolean delete(Integer id);
    
    /**
     * 分页查询病历分析记录
     * 
     * @param params 查询参数
     * @return 分页结果
     */
    Map<String, Object> page(Map<String, Object> params);
    
    /**
     * 分析病历图片并保存结果
     * 
     * @param elderlyId 老人ID
     * @param imagePath 图片路径
     * @return 分析结果
     */
    MedicalRecordAnalysis analyzeAndSave(Integer elderlyId, String imagePath);
} 